package com.ysq.www.api.work.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.util.List;

import com.ysq.www.api.user.entity.User;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.context.annotation.Lazy;

/**
 * <p>
 * 通用任务表
 * </p>
 *
 * @author dql
 * @since 2020-08-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_general_task")
public class GeneralTask implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 协会id
     */
    private Integer asId;

    /**
     * 创建人id
     */
    private Integer userId;

    /**
     * 任务标题
     */
    private String title;

    /**
     * 任务内容
     */
    private String content;

    /**
     * 图片/附件地址
     */
    private String pcUrl;

    /**
     * 开始时间
     */
    private Date startTime;

    /**
     * 结束时间
     */
    private Date endTime;

    /**
     * 负责人id：多人用；拼接
     */
    private String principalIds;

    /**
     * 审批人id
     */
    private Integer approverId;

    /**
     * 审批状态：0未审批，1通过，2驳回
     */
    private Integer checkStatus;

    /**
     * 抄送人id：多人用；拼接
     */
    private String copyIds;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 修改时间
     */
    private Date updateTime;

    /**
     * 状态（字典 0正常 1冻结 2删除）
     */
    private Integer status;

    //以下是临时字段
    /**
     * 创建者姓名
     */
    @TableField(exist = false)
    private String createName;

    /**
     * 创建者头像地址
     */
    @TableField(exist = false)
    private String createHeadUrl;

    /**
     * 审批人姓名
     */
    @TableField(exist = false)
    private String checkName;

    /**
     * 审批人头像地址
     */
    @TableField(exist = false)
    private String checkHeadUrl;

    /**
     * 负责人集合
     */
    @TableField(exist = false)
    private List<User> receiveList;

    /**
     * 抄送人集合
     */
    @TableField(exist = false)
    private List<User> copyList;

}
